<?php

class Web_Admin_Categorias_Wgt_Categorias
{

    public function render()
    {
        return $this->lista();
    }

    private function lista()
    {

        Ey::addConfig('activemenu', Ey::getPrm(1));

        $obj = new Web_Db_Categorias();
        $db = $obj->getAdapter();
        $select = $db->select()
                ->from('ma_categorias')
                ->where('cat_padre_id=?', 0)
                ->where('cat_estado<>?', 2)
                ->order('cat_id');
        $pager = new Ey_Pager($select, WEB_ROOT . '/admin/categorias/main', Ey::getPrm(3), 15);
        $rows = $pager->fetchAll();
        $navegador = $pager->getNavigation();

        if (!is_null($rows)) {

            $categorias = array();

            foreach ($rows as $row) {
                $obj2 = new Web_Db_CategoriasDetalle();
                $rs2 = $obj2->fetchAll($obj2->select()
                                        ->from('ma_categorias_detalle', array('det_pro_id'))
                                        ->where('det_padre_id=?', $row->cat_id));
                
                $productos = count($rs2);

                if ($productos == 0) {
//                    $check = '';
                    $verproductos = '';
                } else {
//                    $check = '<img src="' . WEB_ROOT . '/img/admin/active.png"/>';
                    $verproductos = '<a title="Ver productos" href="' . WEB_ROOT . '/admin/categorias/productos-ver/' . $row->cat_id . '/1" class="deta">' . $productos . '</a>';
                }

                if ($row->cat_estado != 1) {
                    $bloquear = '<a title="Inactivo" href="' . WEB_ROOT . '/admin/categorias/svc/activar-categoria/' . $row->cat_id . '/1"><img src="' . WEB_ROOT . '/img/admin/inactive.png" /></a>';
                } else {
                    $bloquear = '<a title="Activo" href="' . WEB_ROOT . '/admin/categorias/svc/activar-categoria/' . $row->cat_id . '/0"><img src="' . WEB_ROOT . '/img/admin/active.png" /></a>';
                }
                
                $agregar = '<a title="Agregar" href="' . WEB_ROOT . '/admin/categorias/nueva-subcategoria/' . $row->cat_id . '"><img src="' . WEB_ROOT . '/img/admin/add.png" /></a>';

                $modificar = '<a title="Editar" href="' . WEB_ROOT . '/admin/categorias/modificar-categoria/' . $row->cat_id . '"><img src="' . WEB_ROOT . '/img/admin/edit.png" width="16" height="16" /></a>';

                $eliminar = '<a title="Eliminar" href="' . WEB_ROOT . '/admin/categorias/svc/eliminar-categoria/' . $row->cat_id . '" class="adm_alert_delete"><img src="' . WEB_ROOT . '/img/admin/delete.png" /></a>';               

                $categorias[] = array('id' => $row->cat_id,
                                    'nombre' => $row->cat_nombre,
                                    'productos' => $verproductos,
                                    'bgcolor' => 'first',
//                                    'check' => $check,
                                    'agregar' => $agregar,
                                    'bloquear' => $bloquear,
                                    'modificar' => $modificar,
                                    'eliminar' => $eliminar);
            }

            $rs = $obj->fetchAll($obj->select()
                                    ->where('cat_padre_id<>?', 0)
                                    ->where('cat_estado<>?', 2));
//                                    ->order('cat_nombre'));

            if (!is_null($rs)) {

                $subcategorias = array();

                foreach ($rs as $item) {

                    $rs2 = $obj2->fetchAll($obj2->select()
                                            ->from('ma_categorias_detalle', array('det_pro_id'))
                                            ->where('det_cat_id=?', $item->cat_id));
                    
                    $productos = count($rs2);

                    if ($productos == 0) {
//                        $check = '';
                        $verproductos = '';
                    } else {
//                        $check = '<img src="' . WEB_ROOT . '/img/admin/active.png"/>';
                        $verproductos = '<a title="Ver productos" href="' . WEB_ROOT . '/admin/categorias/productos-ver/' . $item->cat_id . '" class="deta">' . $productos . '</a>';
                    }

                    if ($item->cat_estado != 1) {
                        $bloquear = '<a title="Inactivo" href="' . WEB_ROOT . '/admin/categorias/svc/activar-categoria/' . $item->cat_id . '/1"><img src="' . WEB_ROOT . '/img/admin/inactive.png" /></a>';
                    } else {
                        $bloquear = '<a title="Activo" href="' . WEB_ROOT . '/admin/categorias/svc/activar-categoria/' . $item->cat_id . '/0"><img src="' . WEB_ROOT . '/img/admin/active.png" /></a>';
                    }

                    $modificar = '<a title="Editar" href="' . WEB_ROOT . '/admin/categorias/modificar-subcategoria/' . $item->cat_id . '"><img src="' . WEB_ROOT . '/img/admin/edit.png" width="16" height="16" /></a>';

                    $eliminar = '<a title="Eliminar" href="' . WEB_ROOT . '/admin/categorias/svc/eliminar-categoria/' . $item->cat_id . '" class="adm_alert_delete"><img src="' . WEB_ROOT . '/img/admin/delete.png" /></a>';

                    $subcategorias[] = array('nombre' => $item->cat_nombre,
                                            'id' => $item->cat_padre_id,
                                            'productos' => $verproductos,
                                            'bgcolor' => 'second',
//                                            'check' => $check,
                                            'bloquear' => $bloquear,
                                            'modificar' => $modificar,
                                            'eliminar' => $eliminar);
                }
            }

            $smarty = new Smarty_Engine();
            $smarty->assign('total', $pager->recordCount());
            $smarty->assign('categorias', $categorias);
            $smarty->assign('subcategorias', $subcategorias);
            $smarty->assign('navigator', $navegador);

            if (count($rows) <= 0) {
                $smarty->assign('footermsg', 'Aun no se han creado Categorías');
            }

            return $smarty->fetch(ADMIN_CATEGORIAS_DIR . DS . 'tpl' . DS . 'categorias.tpl');
        }
    }

}